IBIS Macromodel Task Group

Meeting date: 8 August 2023

Members (asterisk for those attending):
Achronix Semiconductor:       Hansel Dsilva
Amazon:                       John Yan
ANSYS:                        Curtis Clark
                            * Wei-hsing Huang
Aurora System:              * Dian Yang
Cadence Design Systems:     * Ambrish Varma
                              Jared James
Google:                       Hanfeng Wang
                              GaWon Kim
Intel:                      * Michael Mirmak
                            * Kinger Cai
                            * Chi-te Chen
                              Liwei Zhao
Keysight Technologies:      * Fangyi Rao
                              Majid Ahadi Dolatsara
                              Stephen Slater
                              Ming Yan
                              Rui Yang
Marvell:                      Steve Parker
Mathworks (SiSoft):           Walter Katz
                              Graham Kus
Micron Technology:            Justin Butterfield
Missouri S&T:                 Chulsoon Hwang
                              Yifan Ding
                              Zhiping Yang
Rivos:                        Yansheng Wang
SAE ITC:                      Michael McNair
Siemens EDA (Mentor):       * Arpad Muranyi
                            * Randy Wolff
Teraspeed Labs:             * Bob Ross
Zuken USA:                  * Lance Wang

The meeting was led by Arpad Muranyi.  Randy Wolff took the minutes.

--------------------------------------------------------------------------------
Opens:

- None.

-------------
Review of ARs:

Kinger: Send out draft14 of the PSIJ Sensitivity proposal including more
        feedback from Fangyi and the ATM meeting.
        - Done.

--------------------------
Call for patent disclosure:

- None.

-------------------------
Review of Meeting Minutes:

Arpad asked for any comments or corrections to the minutes of the July 25th
meeting.  Michael moved to approve the minutes.  Dian seconded the motion.
There were no objections.

--------------
New Discussion:

PSIJ frequency domain modeling BIRD draft:

Kinger noted the majority of feedback from Fangyi was incorporated in Draft 13. 
Changes were in blue text and reviewed in ATM.  In draft 14, he incorporated 
another feedback item from Fangyi.  This adds phase of the sensitivity value on 
pages 10 and 11. Randy asked why the phase was 0-360 instead of +/- 180 
degrees. Kinger noted the range is the same and he preferred the values to 
remain all positive.

Kinger asked if the BIRD was ready to submit to the Open Forum.  Fangyi did not 
have any further comments on the BIRD. Ambrish said he would circulate the 
draft for review.

Michael motioned to submit the BIRD draft to the Open Forum.  Arpad seconded 
the motion.  There were no objections.

Kinger to submit the BIRD draft to Lance to get a BIRD number assigned [AR]


[AMI Test Load] and [AMI Test Data]:

Michael prepared a draft 3 for the meeting. No changes were made to [AMI Test 
Data].  [Waveform] adds in AMI_outputs_file and Clock_file subparameters, and 
the AMI_inputs_file parameter renamed from TX_AMI_parameters_file.

The stimulus file and waveform file are changed in format to be vectors, 
removing the time column.  They are CSV files but rely on the regular time step 
and starting time of 0.  The AMI_inputs_file and AMI_outputs_file remove CSV 
format and use a parameter tree syntax similar to the .ami file format. Michael 
noted he questions if the Direction subparameter is needed for both [Waveform] 
and its parent keyword [AMI Test Data].

Michael stated there is a problem with usage of .ami format creating some 
potential confusion. Ambrish said some settings could be in a different tree, 
including Sample_interval, Symbol_time, and Number_of_rows.  Michael said those 
parameters would need to be in a separate file. Fangyi said if you placed the 
parameters in a separate header that would be ok. Arpad suggested a separate 
branch for these parameters.  Michael liked this suggestion.  

Ambrish asked why there was a value after root name.  Michael noted this was a 
mistake.  Fangyi asked about the significance of the root name.  Michael noted 
this should match what is expected of the AMI functions and should match the 
root name output from the AMI functions.  

Bob was concerned about using the CSV format, questioning if we were going to 
publish the official CSV format such as from Adobe.  Michael noted whether we 
have space-delimited or comma-delimited, we'll have to make notes about the 
expected format.  Arpad asked what format we have for waveform data in 
IBIS-AMI.  Michael thought they were space-delimited.  Bob noted another 
variation consistent with IBIS-AMI would be the Table format.  

Michael asked about scaling of values, using suffixes defined in IBIS.  Arpad 
noted scaling is not used in IBIS-AMI. Bob said we should only use base units.  
Michael wondered if anyone tested having suffixes (scaling) in IBIS-AMI data. 
Bob though this should be illegal.

Fangyi noted on page 3 a Model_corner parameter.  How is it used?  Michael said 
we could remove it if the Corner AMI parameter is passed along.

Fangyi said Direction is useful if an AMI model is an I/O type.

Fangyi noted for time domain, need to call AMI_Init first, requiring another 
Stimulus_file for the input impulse matrix.  Michael said we could require a 
pointer to an input to AMI_Init.  Fangyi said we don't care about the output 
impulse response from Init, but we do need to call AMI_Init before 
AMI_GetWave.  We need to think about how to pair these functions.

Fangyi asked if for an Rx model we need a clock_times output file. Michael said 
there would need to be a second output file for this.

On page 7, Fangyi asked what was special about the first column.  Michael needs 
to remove this reference.

Fangyi asked if, in time domain, the number of rows shall equal 
wave_size*integer. Arpad said each AMI_GetWave call could have a different 
block size.  Could this cause problems?  Fangyi said for this BIRD we could 
assume there is a fixed wave_size.  Arpad said you'd need to state this.  
Michael thought wave_size in the current spec is poorly written.  Michael said 
we need to define the number of blocks.  Fangyi requested to clarify the 
meaning of wave_size. Arpad asked what is the purpose of wave_size.  Fangyi 
said it is how long each block is, not how long the waveform is.  It's required 
in this BIRD.  Michael said this structure doesn't allow an output waveform 
with varying block sizes.  Arpad noted this happens in reality.  Michael said 
this requires the stimulus be an integer multiplier of block size.

Fangyi commented on page 6, asking what if Rx_Use_Clock_Input="Wave".  Michael 
will have to add this in. 

Fangyi noted for Rx_Use_Clock_Input="Wave", the length of Clock_file should be 
the same length as the waveform.  Further discussion on this point clarified 
that the Clock_file vector would contain only one clock tick per UI whereas 
the waveform would have many samples per UI.

Fangyi noted the AMI_outputs_file needs more attention.

Ambrish asked if Michael had thought about transmitter models that require an 
impulse response.  Michael noted this case is covered.  Fangyi added that he'd 
noticed the need for another file for an impulse response input.


- Ambrish: Motion to adjourn.
- Michael: Second.
- Arpad: Thank you all for joining.

New ARs:

Kinger to submit the BIRD draft to Lance to get a BIRD number assigned [AR]


-------------
Next meeting: 15 August 2023 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives
